//
// Created by xuchao on 16-11-22.
//

#ifndef OKPG_OKPGEXCEPTION_H
#define OKPG_OKPGEXCEPTION_H

#include<iostream>
#include<glog/logging.h>
#include<stdarg.h>

namespace OKPg {

    using namespace std;

    class OkPgException : public std::exception {
    public:
        string message_;
    public:
        OkPgException(const char *format, ...) : message_(format) {
//            for (int i = 0; format; ++i) {
//
//            }
//            va_list arg_ptr;
//            va_start(arg_ptr, format);
//
//            va_end(arg_ptr);
            LOG(INFO) << "EXCEPTION RAISED:" << format;
        }

        virtual const char *what() const noexcept override{
            return message_.c_str();
        }
    };
}


#endif //OKPG_OKPGEXCEPTION_H
